草庐IT

class - NodeJS 模块与类

全部标签

ruby - 列出模块在 Ruby 中声明的所有类型

如何在Ruby中列出模块声明的所有类型? 最佳答案 使用Module模块中定义的constants方法。来自Ruby文档:Module.constants=>arrayReturnsanarrayofthenamesofallconstantsdefinedinthesystem.Thislistincludesthenamesofallmodulesandclasses.pModule.constants.sort[1..5]produces:["ARGV","ArgumentError","Array","Bignum","Bi

ruby - 在 Ruby 模块上调用方法

我有以下Ruby代码:moduleMyModuleclassMyClassdefself.my_methodendendend要调用my_method,我输入MyModule::MyClass.my_method。我想在模块本身上为my_method编写一个包装器:MyModule.my_method这可能吗? 最佳答案 我不确定您想要实现什么,但是:如果您将其设为常规方法并使用module_function对其进行修改,您将能够以您选择的任何方式调用它。#!/usr/bin/ruby1.8moduleMyModuledefmy_m

ruby-on-rails - Rails + 延迟作业 : Where is the correct place to store custom job classes?

我是delayed_job的新手,我开始编写自己的“自定义作业”。每个自定义作业基本上只是一个常规的ruby​​类,但我不确定这些自定义作业类通常存储在项目目录结构中的何处。我在考虑lib,但此时lib似乎是一个垃圾抽屉:/(不过也许没关系)谢谢!! 最佳答案 常见的方法是在app文件夹下创建jobs文件夹。但您唯一应该关心的是它们是您的文件,因此请以您觉得最适合自己的方式进行。 关于ruby-on-rails-Rails+延迟作业:Whereisthecorrectplacetosto

ruby - 在另一个模块中扩展模块

我正在尝试定义几个模块,以便轻松地将一些实例和类方法添加到其他类中,这就是我正在做的事情:moduleFoomoduleBardefspeakputs"heythere"endendmoduleBazextendFoo::Bardefwelcomeputs"welcome,thisisaninstancemethod"endendendclassTalkerincludeFoo::BazendTalker.new.welcomeTalker.speak这个的输出是:welcome,thisisaninstancemethodundefinedmethod'speak'forTalker

ruby - 是否有类似于 Class#inherited 的钩子(Hook),仅在 Ruby 类定义后触发?

#inherited在classFoo语句之后被调用。我想要一些仅在关闭类声明的end语句之后运行的东西。这里有一些代码来举例说明我需要什么:classClassdefinheritedmputs"In#inheritedfor#{m}"endendclassFooputs"InFoo"endputs"Ireallywantedtohave#inheritedtiggeredhere."###Output:#In#inheritedforFoo#InFoo#Ireallywantedtohave#inheritedtiggeredhere.这样的东西存在吗?可以创建吗?我完全不走运吗?

ruby - 为 Ruby 编写模块

如何为ruby​​编写模块。在python中你可以使用#module.pydefhelloworld(name):print"Hello,%s"%name#main.pyimportmodulemodule.helloworld("Jim")回到问题,你如何在ruby​​中/为ruby​​创建一个模块 最佳答案 Ruby中的模块与Python中的模块有不同的用途。通常,您使用模块来定义可以包含在其他类定义中的通用方法。但是Ruby中的模块也可以像在Python中一样以类似的方式使用,只是将某些命名空间中的方法分组。因此,您在Ruby

Ruby 'is_a?' 需要类或模块 (TypeError)

我正在尝试使用Ruby并尝试创建一个小型银行账户程序。当我运行这行与create_account一起运行的特定代码时:unless@response.is_a?Integer&&@response.to_str.length==4puts"Yourresponsemustbe4numbersinlength."create_accountelse@pin=@responseputs"Yourpinhasbeenset."end我收到这样的回复:bank_account.rb:24:in'is_a?':classormodulerequired(TypeError)frombank_ac

ruby - Class#allocate 及其用途

阅读后http://www.seejohncode.com/2012/03/16/ruby-class-allocate/并进一步研究分配方法:http://www.ruby-doc.org/core-1.9.3/Class.html#method-i-allocate我变得很好奇。Ruby的构建方式使我们不必手动为对象分配空间或释放空间,但我们可以这样做。为什么?在Ruby中手动分配对象有什么用?我看过的文章展示了一个自定义的初始化方法,但是它的用途是否如此有限? 最佳答案 allocate存在的主要原因是允许您为对象构建自定义构

ruby - 我如何使用 class_eval?

我不明白class_eval。classModuledefattr_(*syms)syms.eachdo|sym|class_eval%{def#{sym}=(val)@#{sym}=valend}endendend%是什么意思?class_eval有什么作用?(val)来自哪里? 最佳答案 简短的回答是:您可能希望避免像这样使用class_eval。这是对您的代码的解释:%{hello}只是在Ruby中编写字符串文字的另一种方式,无需担心在字符串中转义双引号或单引号:%{hello"world"}=="hello\"world\"

ruby - 如何在单独的类/模块/文件中编写 Thor 任务?

我在获取Thor时遇到了一些问题这样做,所以希望有人能指出我做错了什么。我有一个主类classMyApp我想为多个命名空间分成单独的文件,比如thorcreate:app_type和thorupdate:app_type.我找不到任何示例来说明应该如何将Thor应用程序分解成多个部分,而且我尝试过的方法似乎不起作用。举个例子,这个类我正试图从主Thor类中脱离出来:moduleThingsmoduleGroupingdesc"something","Dosomethingcoolinthisgroup"defsomething....endendend当我尝试在我的主类中包含或要求它时